/* 
 * File:   Mod_Interzeption.h
 * Author: dechow
 *
 * Created on 28. März 2012, 19:57
 */

#ifndef MOD_INTERZEPTION_H
#define	MOD_INTERZEPTION_H
using namespace std;

class Mod_Interception :public Mod_out_handling
{
    protected:      
  
    
    
    public:
    virtual int compute (time_intervall &ti);    
    Mod_Interception(Mod_in *inp);
    ~Mod_Interception();
};

class Mod_Interception_simple :public Mod_Interception
{
protected:
	double par_base;
	double par_LAI;
	double fraction_of_throughfall;
public:
    map <string,int> IO_options;
    Inp_weather *inp_weather;
    Mod_ETP *mod_etp;
    Mod_Crop *mod_crop;
    
    
    Mod_Interception_simple (map <string,int> &iIO_options,
                         Mod_in *iinp,
                         Inp_weather *iweather,
                         Mod_ETP *imod_etp,
                         Mod_Crop *imodcrop
                ); 
    ~Mod_Interception_simple();
    int compute(time_intervall &ti);
    int initialize();
};
#endif	/* MOD_INTERZEPTION_H */

